Welcome, Beta Testers!
Thank you for taking the time to test the new SuiteQL Query Tool. This version includes a complete UI overhaul, powerful AI-powered features, and numerous improvements to make querying NetSuite data easier than ever.
Your feedback is invaluable in helping us identify bugs, usability issues, and opportunities for improvement before the public release.
What's New in Beta 09
Highlight: This release introduces clickable record links, data visualization (charts), a plugin architecture for extensibility, and support for custom AI providers.
Clickable Record Links
ID columns in your query results now automatically link to their corresponding NetSuite records. Click any Customer ID, Transaction ID, Item ID, etc. to open the record in a new tab. Supports Customers, Vendors, Employees, Items, Transactions, Subsidiaries, Departments, Classes, Locations, Accounts, and more.
Data Visualization / Charts
A new "Chart" button in the results toolbar lets you visualize your query data with interactive charts. Choose from Bar, Line, Pie, Doughnut, and Polar Area chart types. Configure manually by selecting columns, or use AI to generate charts from natural language descriptions like "Show sales by month as a line chart."
Plugin Architecture
The tool now supports plugins for extensibility. Plugins are self-contained JavaScript files stored in your NetSuite File Cabinet that can:
- Hook into query execution (before/after query, error handling)
- Process and transform results
- Inject custom UI into 17 locations throughout the application
- Access the public API (SQT.getResults(), SQT.getQuery(), etc.)
See PLUGIN-GUIDE.md for development documentation.
OpenAI-Compatible Provider
A new "OpenAI-Compatible" AI provider option allows you to use any API endpoint that follows the OpenAI format. This enables integration with OpenRouter, Azure OpenAI, Together AI, local Ollama instances, and other compatible services. Simply enter your custom base URL and model name.
Editor Enhancements
- NetSuite BUILTIN functions (BUILTIN.DF, BUILTIN.CONSOLIDATE, etc.) now highlighted in cyan/teal
- Improved SQL formatter with better CASE/WHEN, UNION, and comment handling
- Format button now shows keyboard shortcut tooltip
Schema Explorer Improvements
- Collapsible Build Schema and Export Schema sections
- Fixed handling of malformed labels from NetSuite Records Catalog API
- Warning indicator when table labels are derived from API metadata
Getting Started
Installation
- Upload the script file to your NetSuite File Cabinet (e.g.,
SuiteScripts/SuiteQL/)
- Create a new Suitelet script record pointing to the uploaded file
- Deploy the script with appropriate audience permissions
- Access the tool via the deployment URL
Tip: Bookmark the Suitelet URL for quick access during testing.
First Launch
When you first open the tool, you'll see:
- A sample SELECT query in the editor
- The toolbar with all available actions
- An empty results panel below the editor
- A collapsible history sidebar (may be hidden by default)
Try running the sample query by clicking Run Query or pressing Ctrl+Enter (or Cmd+Enter on Mac).
AI Configuration
Many of the new features are powered by AI. To use them, you'll need to configure an API key from one of the seven supported providers: Anthropic (Claude), OpenAI (GPT), Cohere (Command), xAI (Grok), Google Gemini, Mistral AI, or any OpenAI-compatible API endpoint.
Setup Steps
- Click the AI dropdown in the toolbar
- Select AI Settings from the menu
- Select your provider (Anthropic, OpenAI, or Cohere)
- Enter your API key
- Choose a model (Claude Sonnet 4, GPT-4o, or Command A recommended)
- Optionally check "Remember API key" to persist it
- Click Save
Note: API keys are stored in your browser's localStorage if you choose to remember them. They are never sent to NetSuite servers - only directly to the AI provider.
Get an API Key
New in Beta 09: Seven AI providers are now supported, including a new "OpenAI-Compatible" option for custom API endpoints like OpenRouter, Azure OpenAI, Together, Ollama, and other compatible services.
Features to Test
Please test each of these core features and note any issues you encounter.
Editor Features
-
Syntax Highlighting
SQL keywords, strings, and numbers should be color-coded
-
Auto-Complete
Press Ctrl+Space to trigger suggestions for tables and columns
-
Text Selection
Double-click to select a word, triple-click for line, Cmd+A to select all
-
Format Query
Click Format or press Ctrl+Shift+F to auto-format SQL. Now with improved CASE/WHEN, UNION, and comment handling (Beta 09).
-
BUILTIN Syntax Highlighting (New in Beta 09)
NetSuite BUILTIN functions (BUILTIN.DF, BUILTIN.CONSOLIDATE, etc.) are now highlighted in cyan/teal
-
Query Parameters
Use {{variable}} syntax - you should be prompted for values when running
-
Drag & Drop Import
Drag a .sql file onto the editor to import it
Results Features
-
View Modes
Toggle between Table, DataTable, and JSON views
-
Clickable Record Links (New in Beta 09)
ID columns automatically link to NetSuite records - click to open Customer, Vendor, Transaction, Item, etc. in a new tab. Toggle "Link IDs to records" in Options.
-
Data Visualization / Charts (New in Beta 09)
Click "Chart" in results toolbar to visualize data. Supports Bar, Line, Pie, Doughnut, and Polar Area charts. Use AI-assisted generation or manual column selection.
-
Row Details
Click any row to see full details in a popup
-
Column Reordering
Drag column headers to rearrange them
-
Column Pinning
Use Options to pin first 1-3 columns while scrolling
-
Column Statistics
Enable in Options to see SUM, AVG, MIN, MAX for numeric columns
-
Results Maximized
Press Shift+R to hide editor and maximize results
-
Export
Test Excel (.xlsx), CSV, JSON exports and Copy to clipboard
-
Copy Button (New in Beta 08)
Quick Copy button in results toolbar - copies as JSON when in JSON view, CSV otherwise
-
Export to Google Sheets
Configure Google Service Account credentials, test "Append to Existing" mode with a shared spreadsheet
-
Export to Airtable
Configure Airtable API token, test creating new tables and appending to existing bases
UI Features
-
Dark Mode
Toggle the theme using the moon/sun icon in the toolbar
-
Focus Mode
Click the expand arrows to hide NetSuite chrome
-
Query History
Check the sidebar for previously run queries
-
Query Library
Browse pre-built queries in the Query Library
-
Query Sharing
Use Share to generate a URL containing your query
AI Features Checklist
These are the new AI-powered features. Please test each one thoroughly.
AI Query Generator
-
AI Settings Access
Click AI dropdown → AI Settings - verify settings modal opens (new shortcut in Beta 06)
-
Cohere Provider
In AI Settings, select Cohere provider - verify Command A, R+, and R models appear
-
xAI (Grok) Provider
In AI Settings, select xAI provider - verify Grok 3, Grok 3 Fast, and Grok 2 models appear
-
Google Gemini Provider
In AI Settings, select Google provider - verify Gemini 2.0 Flash, 1.5 Pro, and 1.5 Flash models appear
-
Mistral AI Provider
In AI Settings, select Mistral provider - verify Mistral Large, Small, and Codestral models appear
-
OpenAI-Compatible Provider (New in Beta 09)
In AI Settings, select "OpenAI-Compatible" - verify custom base URL and model name fields appear. Test with OpenRouter, Azure OpenAI, or local models.
-
API Debug Modal
Enter an invalid API key and try to generate a query - click "Show Details" on error to view request/response debug info
-
Basic Query Generation
Click AI dropdown → AI Chat, type "Show me all active customers" - verify a query is generated
-
Insert Query Button
After AI generates SQL, verify "Insert Query" and "Copy" buttons appear below the code block
-
Conversation History
Send follow-up messages like "now exclude inactive ones" - AI should remember context
-
Auto-Execute
Enable "Auto-execute query" checkbox, generate a query, verify it runs automatically
-
Clear Conversation
Click trash icon to clear - verify conversation resets
Natural Language Query Bar
-
Toggle Bar
Click AI dropdown → Quick Ask Bar to show/hide the natural language bar above the editor
-
Generate Query
Type a description and press Enter or click Generate
-
Focus Behavior
Click in the input field - cursor should stay there (not jump to editor)
Explain Query
-
Basic Explanation
Write a complex query, click AI dropdown → Explain Query - verify AI provides clear breakdown
-
Close Panel
Verify the X button closes the explanation panel
Validate Query
-
Missing WHERE Warning
Write SELECT * FROM customer, click AI dropdown → Validate Query - should warn about missing WHERE
-
Run Anyway
After validation warning, click "Run Anyway" - query should execute
Query Optimization
-
Slow Query Banner
Run a query that takes >5 seconds - optimization banner should appear
-
Optimize Button
Click Optimize - AI modal should open with optimization suggestions
Tables Reference (AI Features)
-
Open Tables Reference
Click "Tables" button - should open in new window
-
Tables Reference AI Settings
Click gear icon in Tables Reference - verify all six providers (Anthropic, OpenAI, Cohere, xAI, Google, Mistral) are available
-
AI Find Mode
Toggle to "AI Find", search "customer payment history" - AI should suggest tables
-
Ask AI About Table
Select a table, try the preset questions (What is this table used for?, etc.)
-
Generate Query from Selection
Select columns using checkboxes, click "Generate Query"
-
Focus Mode
Click expand arrows to hide NetSuite chrome in Tables Reference
Schema Explorer
-
Open Schema Explorer
Click Tables dropdown → Schema Explorer, or access from Tables Reference header
-
Collapsible Sections (New in Beta 09)
Build Schema and Export Schema sections are now collapsible - verify toggle buttons work and state persists
-
Build Schema
Click "Build Schema" - verify progress indicator shows and schema builds successfully
-
Schema Persistence
Close and reopen Schema Explorer - verify schema data persists (stored in IndexedDB)
-
JSON Export
Export schema as JSON - verify file downloads with complete table/column data
-
DDL Exports
Test MySQL, PostgreSQL, SQLite, and SQL Server DDL exports
-
Cloud Data Warehouse Exports (New in Beta 08)
Test BigQuery, Snowflake, and Amazon Redshift DDL exports - use "Show All Formats" toggle to see all options
-
dbt Schema Export (New in Beta 08)
Export as dbt sources YAML - includes table/column descriptions and tests
-
Avro Schema Export (New in Beta 08)
Export as Apache Avro schema JSON for Kafka/streaming pipelines
-
Markdown Documentation (New in Beta 08)
Export schema as Markdown documentation with table of contents
-
DBML Export
Export as DBML - can be pasted into dbdiagram.io to generate ERDs
-
Graphviz DOT Export
Export as DOT file - compatible with OmniGraffle, Graphviz, and other DOT tools
ERD Generation
-
Open ERD Viewer
In Schema Explorer, click "Generate ERD" - verify Mermaid diagram viewer opens
-
Scope Options
Test "All related tables", "Select specific tables", and "Connected subset" modes
-
Table Selection
In "Select specific tables" mode, use search filter and checkboxes to select tables
-
Display Options
Toggle "Show columns", "Show PK/FK", "Show cardinality" - verify diagram updates
-
Layout Direction
Change layout direction (Top-Bottom, Left-Right, etc.) - verify diagram reflows
-
Diagram Style
Toggle between Classic and Hand-drawn styles
-
Zoom Controls
Test zoom in/out buttons and mouse wheel zoom
-
ERD Export
Export diagram as SVG, PNG, or DOT format
-
Mermaid Live Editor
Click "Open in Mermaid Live" - verify diagram opens in external editor
Document Generator
-
Open Document Generator
After running a query, click "Document" button to open the generator
-
Template Editor Toolbar
Verify undo/redo, find/replace, font size, word wrap, fold/unfold buttons work
-
AI Generate Template
Click "AI Generate" and describe a document layout - verify FreeMarker template is generated
-
AI Refine Template
With existing template, click "AI Generate" - should show "Refine" mode for modifications
Data Visualization / Charts (New in Beta 09)
-
Open Chart Modal
After running a query with numeric data, click "Chart" in the results toolbar
-
Chart Types
Test Bar, Line, Pie, Doughnut, and Polar Area chart types
-
Manual Configuration
Select label column (X-axis) and value column (Y-axis) from dropdowns
-
AI Chart Generation
Describe the chart you want in natural language (e.g., "Show sales by month as a line chart")
-
Theme Support
Verify chart colors adapt to light/dark mode
-
Export Chart
Export chart as PNG image
Plugin Architecture (New in Beta 09)
-
Plugin Loading
If PLUGIN_FOLDER_ID is configured, plugins (*.sqt-plugin.js) load automatically from File Cabinet
-
Plugin Hooks
Plugins can hook into onBeforeQuery, onAfterQuery, onResultsDisplay, onExport events
-
UI Injection Points
Plugins can inject UI into 17 locations: toolbar, header, editor area, results, sidebar, modals, status bar
-
Public API
Verify SQT.getResults(), SQT.getQuery(), SQT.setQuery(), SQT.getEditor() functions work
Additional Options
-
Link IDs to Records (New in Beta 09)
In Options, verify "Link IDs to records" option exists and is enabled by default. ID columns should show hover effect and open records on click.
-
Schema-Based Autocomplete
In Options, enable "Use full schema" under Autocomplete - verify 500+ tables appear in suggestions
-
Render HTML in Results
In Options, enable "Render HTML in results" - run a query with HTML (like anchor tags) and verify it renders
Browser-Specific Notes
Safari on macOS Safari
We've implemented specific fixes for Safari. Please verify these work correctly:
- Select All (Cmd+A) - Should select all text in the editor
- Double-click - Should select the word under cursor
- Click and drag - Should select text properly
- AI Modal text selection - Should be able to select text in AI responses without affecting the editor
Safari Testers: Please pay extra attention to text selection behaviors and report any issues where selection doesn't work as expected.
Chrome / Edge / Firefox All Browsers
These browsers should work without any special handling. Please report if you encounter any browser-specific issues.
Mobile Browsers
The tool is designed for desktop use. Mobile testing is not a priority for this beta, but feel free to note any observations.
Keyboard Shortcuts
Please test these shortcuts work correctly (use Cmd instead of Ctrl on Mac):
| Action |
Shortcut |
Test |
| Run Query |
Ctrl+Enter |
Should execute current query |
| Format Query |
Ctrl+Shift+F |
Should format/indent SQL |
| Save Query |
Ctrl+S |
Should open save dialog |
| Select All |
Ctrl+A |
Should select all text in editor |
| Auto-Complete |
Ctrl+Space |
Should show suggestions |
| Maximize Results |
Shift+R |
Should hide editor, show full results |
| Exit Maximized/Focus |
Escape |
Should restore normal view |
| Show Shortcuts |
? |
Should show shortcuts modal |
Known Limitations
These are known limitations in the current beta:
- AI API Keys - Each user must configure their own API key. There's no centralized key management yet.
- Query Timeout - Very long-running queries may timeout based on NetSuite governance limits.
- Large Result Sets - Exporting very large result sets (10,000+ rows) may be slow.
- Tables Reference - Opens in a new window; doesn't share state with main tool.
- Mobile Support - Not optimized for mobile devices.
Configuration Options
Administrators can customize the tool by editing the CONFIG object at the top of the script:
- AI_ENABLED (default:
true) - Master switch to enable/disable all AI features. Set to false to hide all AI-related UI elements.
- AI_RESULTS_CHAT_ENABLED (default:
false) - Allow users to ask AI about query results. Disabled by default due to data privacy considerations.
- SLOW_QUERY_THRESHOLD_MS (default:
3000) - Milliseconds before showing optimization suggestions banner.
- PLUGIN_FOLDER_ID (default:
null) - Set to a File Cabinet folder ID to enable plugin loading. Plugins (*.sqt-plugin.js files) in this folder will be loaded automatically.
Share Your Feedback
Found a bug? Have a suggestion? We want to hear from you!
Please post your feedback as a comment on the LinkedIn announcement post. Include:
- What you were trying to do
- What happened (or didn't happen)
- Your browser and operating system
- Screenshots if helpful
Your feedback helps make this tool better for everyone!
Thank You!
We truly appreciate you taking the time to test the SuiteQL Query Tool. Your feedback directly shapes the final release and helps the entire NetSuite community.
Happy querying!
- Tim